#ifndef __RUS_CORP_HTML_H
#define __RUS_CORP_HTML_H

struct CHtmlItem {
	int		m_Offset;
	int		m_LineNo;
	string	m_Item;
	int		m_InterpNo;
	bool	m_bIgnore;
	CHtmlItem()
	{
		m_InterpNo = -1;
		m_bIgnore = false;
	}
};


struct  CMorphInterpretation
{
	string m_Lex;
	string m_Pos;
	string m_Gr;
	string m_Sem;
	string m_Sem2;

};


struct CWordInfo {
	string m_Type;
	string m_Token;
	vector<CMorphInterpretation> m_Interps;

	string GetHtml() const;
	string GetXml() const;
	
};

extern int ReadHeader(const vector<CHtmlItem>& Items, string& result_bibl, string InFileName );
extern int PrintHtmlFile(FILE* out_fp, vector<CHtmlItem>& Items, int StartItemNo, const string& InFile);
extern int PrintXmlFile(FILE* out_fp, vector<CHtmlItem>& Items, string bibl, int StartItemNo);
extern int PrintTextFile(FILE* out_fp, vector<CHtmlItem>& Items, int StartItemNo);
extern bool GetHtmlItems(string InFileName, vector<CHtmlItem>& Items, string& InFileContents);
extern void PrintHtmlSentence (FILE* out_fp, const vector<CWordInfo>& Result, const vector<CHtmlItem>& Items, size_t start, size_t end, const string& InFile);
extern int ReadSentenceFromItems(vector<CHtmlItem>& Items, int StartItemNo, vector<CWordInfo>& Result,bool);
extern int PrintWordFormFile(FILE* out_fp, vector<CHtmlItem>& Items, int StartItemNo, const string& InFileContents);
#endif
